// 引入请求工具
import request from '@/utils/request'

/**
 * 模块名称相关的API请求方法集合
 * 说明：统一管理某一业务模块的所有接口请求，保持代码一致性
 */

/**
 * 获取子区域列表（支持查询参数）
 * @param {Number} parentId - 父级ID
 * @param {Object} params - 查询参数
 * @returns {Promise}
 */
export function getChildRegions(parentId, params) {
  return request({
    url: `/nongjt/region/child/${parentId}`,
    method: 'get',
    params: params // 将查询参数作为URL参数传递
  })
}

/**
 * 根据ID获取区域详情
 * @param {Number} id - 区域ID
 * @returns {Promise}
 */
export function getRegionById(id) {
  return request({
    url: `/nongjt/region/${id}`,
    method: 'get'
  })
}

/**
 * 新增区域
 * @param {Object} data - 区域数据
 * @returns {Promise}
 */
export function addRegion(data) {
  return request({
    url: '/nongjt/region',
    method: 'post',
    data: data
  })
}

/**
 * 修改区域
 * @param {Object} data - 区域数据
 * @returns {Promise}
 */
export function updateRegion(data) {
  return request({
    url: '/nongjt/region',
    method: 'put',
    data: data
  })
}

/**
 * 删除单个区域（支持递归删除子区域）
 * @param {Number} id - 区域ID
 * @returns {Promise}
 */
export function deleteRegion(id) {
  return request({
    url: `/nongjt/region/${id}`,
    method: 'delete'
  })
}
